/**
 * @file crud-schema.js
 * @author liyong18@baidu.com
 */
/* eslint-disable */

var schema = {
  id: "http://amis.baidu.com/schemas/crud.json#",
  $schema: "http://json-schema.org/draft-04/schema#",
  description: "AMis crud 渲染器，格式说明。http://amis.baidu.com/docs/renderers#crud",
  type: "object",
  definitions: {
    table: {
      allOf: [
        {
          $ref: "http://amis.baidu.com/schemas/crud.json#/definitions/tableAndListCommonProp"
        },
        {
          type: "object",
          properties: {
            mode: {
              type: "string",
              enum: ["table"],
              description: "用table方式展示,设置后需设置columns属性"
            },
            columnsTogglable: {
              type: "boolean",
              description: "是否可以用户控制显示与不显示某些列。"
            },
            headerAffix: {
              type: "boolean",
              description: "是否固定头部。"
            },
            checkOnRowClick: {
              type: "boolean",
              description: "是否开启点击行时选中"
            },
            footable: {
              oneOf: [
                {
                  type: 'boolean',
                  description: '是否开启自动底部展示功能，适合移动端展示'
                },

                {
                  type: 'object',
                  properties: {
                    expand: {
                      type: 'string',
                      enum: ['first', 'all', 'none'],
                      description: '设置默认展开情况'
                    }
                  }
                }
              ]
            },
            tableClassName: {
              type: "string",
              description: "table 类名"
            },
            tableWrapClassName: {
              type: "string",
              description: "table 外层包裹的类名, 为了小屏幕不会压缩成一块，内容默认不换行",
              "default": "table-responsive"
            },
            columns: {
              type: "array",
              items:{
                allOf: [
                  {
                    $ref: "http://amis.baidu.com/schemas/crud.json#/definitions/column"
                  },
                  {
                    type: "object",
                    properties: {
                      toggled: {
                        type: "boolean",
                        description: "控制默认是展示还是不展示，只有 Table 的 columnsTogglable 开启了才有效。"
                      },
                      sortable: {
                        type: "boolean",
                        description: "开启后可以根据当前列排序。(后端排序)"
                      },
                      localSortable: {
                        type: "boolean",
                        description: "开启后可以根据当前列排序。(前端排序，本页排序)"
                      },
                      breakpoint: {
                        type: 'string',
                        description: '填写 *、xs、sm、md、lg指定 footable 的触发条件，可以填写多个用空格隔开'
                      },
                      labelGroup: {
                        description: "设置本列的group名，会在表头上面再加一层group显示",
                        type: "string"
                      },
                      searchable: {
                        oneOf:[
                          {
                            type: "boolean"
                          },
                          {
                            "title": "FormItem",
                            "description": "Form 表单项",
                            "type": "object",
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "controls": {
                                    "$ref": "http://amis.baidu.com/schemas/form.json#/definitions/controls",
                                    "description": "FormItem 集合"
                                  }
                                },
                                "required": [
                                  "controls"
                                ]
                              },

                              {
                                "$ref": "http://amis.baidu.com/schemas/form.json#/definitions/iFormItem",
                                "description": "启用快速编辑的同时，可以设置快速编辑的表单类型"
                              }
                            ]
                          }
                        ],
                        description: "设置本列可以被搜索"
                      }
                    }
                  }
                ]
              }
            }
          }
        }
      ]
    },
    basicCard: {
      type: "object",
      properties: {
        header: {
          type: "object",
          properties: {
            className: {
              type: "string",
              description: "头部类名"
            },
            title: {
              $ref: "http://amis.baidu.com/schemas/page.json#/definitions/tpl",
              description: "标题,支持tpl"
            },
            subTitle: {
              $ref: "http://amis.baidu.com/schemas/page.json#/definitions/tpl",
              description: "副标题,支持tpl"
            },
            desc: {
              $ref: "http://amis.baidu.com/schemas/page.json#/definitions/tpl",
              description: "描述,支持tpl"
            },
            avatar: {
              $ref: "http://amis.baidu.com/schemas/page.json#/definitions/tpl",
              description: "头像,支持tpl"
            },
            highlight: {
              type: "boolean",
              description: "是否点亮"
            },
            avatarClassName: {
              type: "string",
              description: "图片类名"
            }
          },
          description: "卡片的头部配置"
        },
        actions: {
          type: "array",
          items: {
            $ref: "http://amis.baidu.com/schemas/crud.json#/definitions/action"
          },
          description: "按钮区域，放在卡片的下方"
        },
        actionsCount: {
          type: "number",
          default: 0,
          description: "一行显示多少个按钮"
        },
        body: {
          $ref: "http://amis.baidu.com/schemas/crud.json#/definitions/body"
        },
        bodyClassName: {
          type: "string",
          description: "body的className"
        },
        className: {
          type: "string",
          description: "card 本身的className"
        }
      },
      description: "每一个卡片展示的配置"
    },
    card: {
      title: "Card 模型",
      description: "Card 模型",
      allOf: [
        {
          $ref: "http://amis.baidu.com/schemas/crud.json#/definitions/basicCard"
        },

        {
          type: "object",
          properties: {
            type: {
              type: "string",
              enum: ["card"]
            }
          },
          required: [
            "type"
          ]
        }
      ]
    },
    grid: {
      type: "object",
      properties: {
        mode: {
          type: "string",
          enum: ["grid"],
          description: "用gird方式展示,设置后需设置card属性"
        },
        card: {
          $ref: "http://amis.baidu.com/schemas/crud.json#/definitions/basicCard"
        }
      },
      dependencies:{
        card: ["mode"]
      },
      required: [
        'mode'
      ]
    },
    list: {
      allOf:[
        {
          $ref: "http://amis.baidu.com/schemas/crud.json#/definitions/tableAndListCommonProp"
        },
        {
          type: "object",
          properties: {
            mode: {
              type: "string",
              enum: ["list"],
              description: "用list方式展示,设置后需设置listItem属性"
            },
            listItem: {
              type: "object",
              properties: {
                title: {
                  $ref: "http://amis.baidu.com/schemas/page.json#/definitions/tpl",
                  description: "标题,支持tpl"
                },
                subTitle: {
                  $ref: "http://amis.baidu.com/schemas/page.json#/definitions/tpl",
                  description: "副标题,支持tpl"
                },
                desc: {
                  $ref: "http://amis.baidu.com/schemas/page.json#/definitions/tpl",
                  description: "描述,支持tpl"
                },
                avatar: {
                  $ref: "http://amis.baidu.com/schemas/page.json#/definitions/tpl",
                  description: "头像,支持tpl"
                },
                remark: {
                  $ref: "http://amis.baidu.com/schemas/page.json#/definitions/tpl",
                  description: "tooltip 说明"
                },
                actions: {
                  type: "array",
                  items: {
                    $ref: "http://amis.baidu.com/schemas/crud.json#/definitions/action"
                  }
                },
                body: {
                  $ref: "http://amis.baidu.com/schemas/crud.json#/definitions/body"
                }
              }
            }
          },
          dependencies:{
            listItem: ["mode"]
          },
          required: [
            'mode'
          ]
        }
      ]
    },
    tableAndListCommonProp: {
      type: "object",
      properties: {
        draggable: {
          type: "boolean",
          description: "是否可通过拖拽排序"
        },
        draggableOn: {
          $ref: "http://amis.baidu.com/schemas/page.json#/definitions/expression",
          description: "Js 表达式。如 data.type == 1,用表达式来配置是否可拖拽排序"
        },
        saveOrderApi: {
          $ref: "http://amis.baidu.com/schemas/page.json#/definitions/api",
          description: "保存排序的 api"
        },
        "toolbar": {
          "$ref": "http://amis.baidu.com/schemas/page.json#/definitions/container",
          "description": "CRUD 中可以在 toolbar 中额外加入内容，默认将独占一行，如果想和批量操作，分页放在一起，请设置  toolbarInline"
        },
        "toolbarClassName": {
          "$ref": "http://amis.baidu.com/schemas/page.json#/definitions/className",
          "description": "配置 toolbar 的 class"
        },
        "toolbarInline": {
          "type": "boolean",
          "default": false,
          "description": "是否让 toolbar 区域独占一行。"
        },
        "showHeader": {
          "type": "boolean",
          "default": true,
          "description": "是否显示 header"
        },
        "showFooter": {
          "type": "boolean",
          "default": true,
          "description": "是否显示 footer"
        },
        "innerClassName": {
          $ref:"http://amis.baidu.com/schemas/page.json#/definitions/className",
          description:"配置内部 DOM 的 className"
        }
      }
    },
    commonProp: {
      type: "object",
      properties: {
        type:{
          type:"string",
          enum: [
            "crud"
          ]
        },
        title: {
          "$ref": "http://amis.baidu.com/schemas/page.json#/definitions/stringOrNull",
          description: "crud的title字段，后放在panel的head里面，可以为空"
        },
        "placeholder": {
          "type": "string",
          "description": "当没有数据时，用来设置提示",
          "default": "没有数据"
        },
        name: {
          $ref: "http://amis.baidu.com/schemas/page.json#/definitions/name",
          description: "给当前 crud 取个名字，可用来跟其他 Renderer 交互。"
        },
        className:{
          $ref:"http://amis.baidu.com/schemas/page.json#/definitions/className",
          description:"配置curd最外层dom的class"
        },
        api: {
          $ref:"http://amis.baidu.com/schemas/page.json#/definitions/api",
          description:"配置crud获取列表的api"
        },
        filter:{
          $ref:"http://amis.baidu.com/schemas/form.json#/definitions/basicForm"
        },
        initFetch: {
          type: "boolean",
          description:"是否初始化的时候拉取数据, 默认是true,只针对有filter的情况, 没有filter初始都会拉取数据"
        },
        clearCache: {
          type: "boolean",
          description:"当crud销毁的时候是否删除内存中的数据,默认是false"
        },
        syncLocation: {
          type:"boolean",
          description:"是否将过滤条件的参数同步到地址栏,默认为true"
        },
        quickSaveApi: {
          $ref:"http://amis.baidu.com/schemas/page.json#/definitions/api",
          description:"快速编辑后用来批量保存的 API"
        },
        quickSaveItemApi: {
          $ref:"http://amis.baidu.com/schemas/page.json#/definitions/api",
          description:"快速编辑配置成及时保存时使用的 API"
        },
        "hideQuickSaveBtn": {
          "default": false,
          "type": "boolean",
          "description": "隐藏掉快速编辑的按钮，默认只要值一修改就会显示批量保存按钮，如果不需要请将此属性设置为 true"
        },
        messages: {
          type:"object",
          additionalProperties:false,
          properties: {
            fetchFailed: {
              type: "string",
              description: "获取失败时提示"
            },
            quickSaveFailed: {
              type: "string",
              description: "快速保存失败提示。"
            },
            quickSaveSuccess: {
              type: "string",
              description: "快速保存成功提示"
            },
            saveOrderFailed: {
              type: "string",
              description: "保存顺序失败提示"
            },
            saveOrderSuccess: {
              type: "string",
              description: "保存顺序成功提示"
            }
          },
          description:"远程操作保存成功或者失败的提示"
        },
        bulkActions: {
          type: "array",
          title: "Collection",
          items: {
            anyOf: [
              {
                $ref: "http://amis.baidu.com/schemas/crud.json#/definitions/action"
              },

              {
                type: "object",
                properties: {
                  type: {
                    enum: [
                      "button"
                    ]
                  }
                },
                required: [
                  "type"
                ]
              }
            ]
          },
          description: "批量操作列表，配置后，表格可进行选中操作。数组元素可以不配置type,默认是select"
        },
        defaultChecked: {
          type: "boolean",
          description: "当可批量操作时，默认是否全部勾选。默认是false"
        },
        switchPerPage: {
          description: "是否可修改每页显示多少个。默认false",
          oneOf: [
            {
              type: 'boolean'
            },
            {
              type: 'array',
              items: {
                type: 'number'
              }
            }
          ]
        },
        showPageInfo: {
          type: "boolean",
          description: "是否显示列表信息，比如一共多少页，有多少条数据。",
          default: true
        },
        showPageInfoOnHeader: {
          type: "boolean",
          description: "是否在头部显示列表信息，比如一共多少页，有多少条数据。",
          default: false
        },
        showPagination: {
          type: "boolean",
          description: "是否显示分页信息，默认只要有多页就会显示"
        },
        primaryField: {
          type: "string",
          description: "设置主键字段名"
        },
        pageField: {
          type: "string",
          description: "设置分页页码字段名。"
        },
        perPageField: {
          type: "string",
          description: "设置分页一页显示的多少条数据的字段名。"
        },
        orderField: {
          type: "string",
          description: "设置用来确定位置的字段名，设置后新的顺序将被赋值到该字段中。"
        },
        defaultParams: {
          type: "object",
          description: "可以默认给定初始参数如： {\"perPage\": 24}"
        },
        highlightLatestAction: {
          type: "boolean",
          default: false,
          description: "是否标记最后触发动作的数据"
        },
        "interval": {
          "type": "number",
          "description": "设置自动刷新时间"
        }
      }
    },
    column: {
      allOf:[
        {
          oneOf:[
            {
              type: "object",
              description: "普通文字内容",
              properties: {
                type: {
                  type: "string",
                  enum: ["text"],
                  description:"默认的纯展示的文本，html会被转义"
                }
              }
            },

            {
              type: "object",
              properties:
              {
                type: {
                  type: "string",
                  enum: ["html"],
                  description:"value里面可以是html字符串"
                }
              },
              description:"当 column 为 html 类型时才支持 html 标签。",
              required: [
                "type"
              ]
            },
            {
              $ref: "http://amis.baidu.com/schemas/page.json#/definitions/tplRenderer"
            },
            {
              type: "object",
              properties:
              {
                type: {
                  type: "string",
                  enum: ["image"],
                  description:"图片类型，让值以图片的形式展示。"
                }
              },
              description:"图片类型，让值以图片的形式展示。",
              required: [
                "type"
              ]
            },
            {
              type: "object",
              properties:
              {
                type: {
                  type: "string",
                  enum: ["progress"],
                  description:"进度类型，要求值是 0 - 100 的数值。"
                }
              },
              description:"进度类型，要求值是 0 - 100 的数值。",
              required: [
                "type"
              ]
            },
            {
              type: "object",
              properties:
              {
                type: {
                  type: "string",
                  enum: ["status"],
                  description: "状态类型，非零飘绿，零值飘红。"
                }
              },
              description: "状态类型，非零飘绿，零值飘红。",
              required: [
                "type"
              ]
            },
            {
              type: "object",
              properties:
              {
                type: {
                  type: "string",
                  enum: ["date"],
                  description: "日期类型，自动将时间戳格式的数值以 format=LL 的形式展示。"
                },
                "valueFormat": {
                  "type": "string",
                  "description": "值格式，默认为 X. 所以只识别Unix Timestamp 如果要识别其他格式，请参考 moment 中的格式配置。"
                },
                "format": {
                  "type": "string",
                  "description": "显示的格式，默认为：LL"
                }
              },
              description: "日期类型，自动将时间戳格式的数值以 format=LL 的形式展示。",
              required: [
                "type"
              ]
            },
            {
              type: "object",
              properties:
              {
                type: {
                  type: "string",
                  enum: ["datetime"],
                  description: "日期类型，自动将时间戳格式的数值以 format=LLL 的形式展示。"
                },
                "valueFormat": {
                  "type": "string",
                  "description": "值格式，默认为 X. 所以只识别Unix Timestamp 如果要识别其他格式，请参考 moment 中的格式配置。"
                },
                "format": {
                  "type": "string",
                  "description": "显示的格式，默认为：LLL"
                }
              },
              description: "日期类型，自动将时间戳格式的数值以 format=LLL 的形式展示。",
              required: [
                "type"
              ]
            },
            {
              type: "object",
              properties:
              {
                type: {
                  type: "string",
                  enum: ["time"],
                  description: "日期类型，自动将时间戳格式的数值以 format=LT 的形式展示。"
                },
                "valueFormat": {
                  "type": "string",
                  "description": "值格式，默认为 X. 所以只识别Unix Timestamp 如果要识别其他格式，请参考 moment 中的格式配置。"
                },
                "format": {
                  "type": "string",
                  "description": "显示的格式，默认为：LT"
                }
              },
              description: "日期类型，自动将时间戳格式的数值以 format=LT 的形式展示。",
              required: [
                "type"
              ]
            },
            {
              type: "object",
              properties:
              {
                type: {
                  type: "string",
                  enum: ["json"],
                  description: "json 类型，方便查看复杂对象。"
                },
                levelExpand: {
                  type: "number",
                  description: "初始展开层级",
                  default: -1
                },
                expandDefaultLevel: {
                  type: "number",
                  description: "点击后展开几级",
                  default: -1
                }
              },
              description: "json 类型，方便查看复杂对象。",
              required: [
                "type"
              ]
            },
            {
              type: "object",
              properties:
              {
                type: {
                  type: "string",
                  enum: ["map"],
                  description: "使用此类型，允许配置将值映射成其他内容显示,需要设置一个map属性，值为对象"
                },
                map: {
                  type: "object",
                  description: "map对象，key-value类型，key是当前值，value是展示值"
                }
              },
              description: "使用此类型，允许配置将值映射成其他内容显示,需要设置一个map属性，值为对象",
              required: [
                "type",
                "map"
              ]
            },
            {
              type: "object",
              properties:
                {
                  type: {
                    type: "string",
                    enum: ["list"],
                    description:"简单的列表"
                  },

                  listItem: {
                    "description": "单行显示的内容配置",
                    "type": "object",
                    "properties": {
                      className: {
                        type: "string",
                        description: "头部类名"
                      },
                      link: {
                        type: 'string',
                        description: '跳转地址'
                      },
                      title: {
                        $ref: "http://amis.baidu.com/schemas/page.json#/definitions/tpl",
                        description: "标题,支持tpl"
                      },
                      subTitle: {
                        $ref: "http://amis.baidu.com/schemas/page.json#/definitions/tpl",
                        description: "副标题,支持tpl"
                      },
                      desc: {
                        $ref: "http://amis.baidu.com/schemas/page.json#/definitions/tpl",
                        description: "描述,支持tpl"
                      },
                      avatar: {
                        $ref: "http://amis.baidu.com/schemas/page.json#/definitions/tpl",
                        description: "头像,支持tpl"
                      },
                      body: {
                        $ref: "http://amis.baidu.com/schemas/page.json#/definitions/container",
                        description: "内容区域"
                      },
                      actions: {
                        type: "array",
                        items: {
                          $ref: "http://amis.baidu.com/schemas/crud.json#/definitions/action"
                        },
                        description: "按钮区域，放在卡片的下方"
                      }
                    }
                  }
                },
              description:"简单列表显示",
              required: [
                "type"
              ]
            },
            {
              type: "object",
              description: "一般 Column 里面都会配置一个 Operation 来实现单条操作。通过配置 buttons 来设置按钮",
              properties:
              {
                type: {
                  type: "string",
                  enum: ["operation"],
                  description: "一般 Column 里面都会配置一个 Operation 来实现单条操作。通过配置 buttons 来设置按钮"
                },
                buttons: {
                  type: "array",
                  items: {
                    anyOf: [
                      {
                        $ref: "http://amis.baidu.com/schemas/action.json#"
                      },
                      {
                        $ref: "http://amis.baidu.com/schemas/button-group.json#"
                      },
                      {
                        $ref: "http://amis.baidu.com/schemas/dropdown-button.json#"
                      },
                      {
                        "type": "object"
                      }
                    ]
                  },
                  description: "设置操作"
                }
              },
              required: [
                "type",
                "buttons"
              ]
            }
          ]
        },
        {
          type: "object",
          properties: {
            name: {
              type: "string",
              description: "用来关联列表数据中的变量 key。支持用'.'句号分隔级联"
            },

            "className": {
              "$ref": "http://amis.baidu.com/schemas/page.json#/definitions/className",
              "description": "配置 Column 列 className"
            },

            "placeholder": {
              type: "string",
              description: "设置此属性可以修改没有数据时的 `-` （空）展示"
            },

            width: {
              oneOf: [
                {
                  type: 'number'
                },

                {
                  type: 'string'
                }
              ],
              description: "设置 column 宽度。"
            },

            "hiddenOn": {
              "$ref": "http://amis.baidu.com/schemas/page.json#/definitions/expression",
              "description": "通过 JS 表达式来配置当前表单项是否隐藏。"
            },
            "visibleOn": {
              "$ref": "http://amis.baidu.com/schemas/page.json#/definitions/expression",
              "description": "通过 JS 表达式来配置当前表单项是否显示"
            },

            label: {
              type: "string",
              description: "标题"
            },

            copyable: {
              description: "开启后，会支持内容点击复制。",
              oneOf: [
                {
                  type: "boolean"
                },

                {
                  type: "object",
                  properties: {
                    hideRaw: {
                      type: "boolean",
                      description: "是否隐藏原始内容"
                    },

                    icon: {
                      type: "string",
                      description: "按钮图标，请查看 fontAwesome http://fontawesome.io/icons/"
                    },

                    label: {
                      type: "string",
                      description: "按钮名称"
                    },

                    text: {
                      $ref: "http://amis.baidu.com/schemas/page.json#/definitions/tpl",
                      description: "Copy 的内容模板"
                    }
                  }
                }
              ]
            },

            copyableOn: {
              description: "开启后，会支持内容点击复制。",
              type: "string"
            },

            quickEdit: {
              "oneOf": [
                {
                  type: "boolean",
                  "description": "true 启用，false 禁用"
                },
                {
                  "title": "Controls",
                  "description": "Form 表单项集合",
                  "type": "object",
                  "properties": {
                    "controls": {
                      "$ref": "http://amis.baidu.com/schemas/form.json#/definitions/controls"
                    },
                    "saveImmediately": {
                      "type": "boolean",
                      "description": "是否及时保存，默认只是标记已修改，并由用户进一步批量保存。"
                    },
                    "mode": {
                      "type": "string",
                      "enum": ["inline"],
                      "description": "默认会点击弹出的交互，如果设置成 inline 模式则直接显示该表单。"
                    }
                  },
                  "required": [
                    "controls"
                  ]
                },
                {
                  "title": "FormItem",
                  "description": "Form 表单项",
                  "type": "object",
                  "allOf": [
                    {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "focusable": {
                          "type": "boolean",
                          "description": "是否可聚焦",
                          "default": true
                        },
                        "saveImmediately": {
                          "type": "boolean",
                          "description": "是否及时保存，默认只是标记已修改，并由用户进一步批量保存。"
                        },
                        "mode": {
                          "type": "string",
                          "enum": ["inline"],
                          "description": "默认会点击弹出的交互，如果设置成 inline 模式则直接显示该表单。"
                        }
                      },
                      "required": [
                        "type"
                      ]
                    },

                    {
                      "$ref": "http://amis.baidu.com/schemas/form.json#/definitions/iFormItem",
                      "description": "启用快速编辑的同时，可以设置快速编辑的表单类型"
                    }
                  ]
                }
              ],
              description: "是否支持快速编辑，支持配置 true 或者表单项配置"
            },
            quickEditOn: {
              description: "通过表达式配置是否支持快速编辑",
              type: "string"
            },
            popOver: {
              "oneOf": [
                {
                  type: "boolean",
                  description: "是否支持点击查看详情。当内容较长时，可以开启此配置。"
                },

                {
                  "type": "object",
                  "description": "popOver 详情",
                  "attributes": {
                    "mode": {
                      "type": "string",
                      "description": "模式，默认为 popOver",
                      "enum": ["popOver", "dialog"]
                    },

                    "size": {
                      "type": "string",
                      "description": "如果是 dialog 可以配置大小",
                      "enum": ["sm", "md", "lg"]
                    },

                    "title": {
                      "type": "string",
                      "description": "PopOver 的标题, 默认继承 column 的 label"
                    },

                    "body": {
                      "$ref": "http://amis.baidu.com/schemas/page.json#/definitions/container",
                      "description": "PopOver 的内容"
                    }
                  }
                }
              ]
            },
            popOverAble: {
              type: "boolean",
              description: "是否支持点击查看详情。当内容较长时，可以开启此配置。"
            },
            popOverAbleOn: {
              description: "通过表达式配置是否支持展开详情",
              type: "string"
            },
            popOverOn: {
              description: "通过表达式配置是否支持展开详情",
              type: "string"
            },
            tooltip: {
              $ref: "http://amis.baidu.com/schemas/page.json#/definitions/tpl",
              description: "鼠标移上去的小tip提示,支持模板, 可通过 $xxx 或者 ${xxx} 取值，或者直接用 lodash.tempalte 模板引擎。详情： http://amis.baidu.com/docs/renderers#tpl"
            }
          }
        }
      ]
    },
    body: {
      oneOf:[
        {
          $ref: "http://amis.baidu.com/schemas/page.json#/definitions/string"
        },
        {
          $ref: "http://amis.baidu.com/schemas/crud.json#/definitions/column"
        },
        {
          type: "array",
          items: {
            oneOf:[
              {
                $ref: "http://amis.baidu.com/schemas/crud.json#/definitions/column",
                description:"一行一个item"
              },
              {
                type: "array",
                items: {
                  $ref: "http://amis.baidu.com/schemas/crud.json#/definitions/column"
                },
                description:"设置成数组，里面的item将横向平分"
              }
            ]
          },
          description:"数组里面可以是field对象描述，也可以是[field对象描述],如果是后者，将横向平分"
        }
      ],
      description: "设置body区域，支持对象，数组，tpl"
    },
    action: {
      allOf:[
        {
          $ref: "http://amis.baidu.com/schemas/form.json#/definitions/baseButton"
        },
        {
          $ref: "http://amis.baidu.com/schemas/action.json#/definitions/baseAction"
        },
        {
          properties: {
            confirmText: {
              type: "string",
              description: "设置后操作会提示后再操作"
            }
          }
        }
      ]
    }
  },
  allOf:[
    {
      oneOf:[
        {
          $ref: "http://amis.baidu.com/schemas/crud.json#/definitions/table"
        },
        {
          $ref: "http://amis.baidu.com/schemas/crud.json#/definitions/grid"
        },
        {
          $ref: "http://amis.baidu.com/schemas/crud.json#/definitions/list"
        }
      ]
    },
    {
      $ref: "http://amis.baidu.com/schemas/crud.json#/definitions/commonProp"
    },
    {
      type: "object",
      properties: {
        type: {
          type: "string",
          enum: ["crud"]
        }
      },
      required: [
        "type"
      ]
    }
  ]
};
module.exports = schema;